Server Hardware
Memory
A minimal productive PTV xServer deployment requires at least 16 GB of memory. Larger and more powerful deployments will require more memory, the following chapter will describe how to determine the requirements.
Fundamentals
The memory requirement of a PTV xServer deployment is determined by three main components: the server process, multiple module processes and the map data.

The server and module processes have independent memory areas they use during calculation. In contrast to this the map data is managed and cached by the operating system. All module processes are using this shared map data loaded into the main memory. Too little memory for the map cache might therefor reduce the system performance. Depending on the use case, the following aspects have a different impact on the memory usage of these three components:

While the proportion and absolute size of any of these aspects may differ completely, the following rules of thumb can be summarized:
- Depending on the size of the request and the request queue, the server process requires from 512 to 4096 MB.
- Each module process requires about 3 to 4 GB if a continental map is used and 4 to 5 GB if a world map is used.
- Depending on the size of the map and the scattering of request locations, 5 to 20 GB for caching map data into memory are recommended.
High Performance Routing
Creating a new high performance routing A route corresponds to a path of a vehicle through the underlying transport network. The main attributes of a route are the distance and the time that the vehicle travels along the path. network requires a large amount of memory depending on the number of countries involved and the profile
A profile is a collection of parameters used to configure the request. Full profiles consist of a number of specialized sub-profiles like the VehicleProfile which describes the properties of a vehicle. that is used.

At least 32 GB of additional memory and 64 GB of swap space are recommended for a continental map. A world map requires about twice the additional memory. The usage of a high performance routing network is handled like normal map data: it will be cached if enough memory is available.
Large and Complex Optimization Problems
When facing very large and complex problems with more than 1000 locations, visits or orders, the algorithms behind the xCluster, xTour and xLoad services will require more memory than a general rule of thumb could cover.
xCluster
You can calculate the estimated memory consumption with the following formula:
- total memory consumption = distance matrix memory consumption + solver memory consumption
Distance matrix memory consumption:
- distance matrix memory consumption = (number of locations) x (number of locations) x (8 bytes )
Solver memory consumption:
- Gurobi: uses flexible 4 GB to 30 GB, It takes as much as it gets, but can also cope with only 4 GB RAM.
- CBC: needs 4 to 6 GB, depending on the problem. If it needs more memory than it can get, there will be trouble.
Example:
- 50000 locations with CBC solver
- total memory consumption = 50000 x 50000 x 8 byte + 6 GB = 24.62 GB RAM
xTour
Distance matrix memory calculation is similar to the xCluster service. For detailed information about the memory requirements of the algorithm please contact your PTV representative.
xLoad
The memory consumption of the xLoad service is independent of any map data. Many different bin or item types will increase the memory consumption. For detailed information please contact your PTV representative.
Processor
Running a PTV xServer requires a x64 multi-core CPU. The throughput of a deployment strongly depends on the number of module processes and CPU cores. As long as sufficient memory is available a "one module process per CPU core" - configuration scales well. For every xTour module with Optimization Premium License, we recommend to have 4 CPU cores available. For some use cases logical cores and hyper-threading might further increase the possible throughput.

Exact performance figures and a detailed use case analysis are provided in the PTV xServer benchmark documents.
Disc Space
A PTV xServer deployment requires enough disc space for map data, high performance routing networks, distance matrices and log files. Depending on the map content you should reserve 75-150 GB.
